import numpy as np
# list 切片
# 切片的step的值是正还是负，决定切片的方向：
# 	step为正数时（step>0），代表从左往右切片，且start下标值需小于stop下标值，反之亦然 如下例：
names = ["apple", "banana", "cherry", "durian", "emblica", "fig", "grape", "haw"]
# 依据step的正负，为保证切片顺序，star和stop的空值按情况设置为0和列表长度值
# （即当step为正，star和stop的空值分别为0和列表长度值，否者反之）
print(names[1:5:2])  # 选择的是里面的1，3个元素（注意：左闭右开）
bbox = np.array([3, 3, 1, 2,4])
print(bbox[2:4])


#列表推导式
name = [x + y for x in ['1', '2', '3'] for y in ['a', 'b', 'c']]
print(name)

# 嵌套推导：
# 列表推导式中的初始表达式可以是任何表达式，包括另一个列表推导式：
matrix = [[1, 2, 3, 4],
          [5, 6, 7, 8],
          [9, 10, 11, 12],
          ]
result_row = [[row[i] for row in matrix] for i in range(4)]

print(result_row)



